The stapl Skeleton Framework
نویسندگان
چکیده
This paper describes the stapl Skeleton Framework, a highlevel skeletal approach for parallel programming. This framework abstracts the underlying details of data distribution and parallelism from programmers and enables them to express parallel programs as a composition of existing elementary skeletons such as map, map-reduce, scan, zip, butterfly, allreduce, alltoall and user-defined custom skeletons. Skeletons in this framework are defined as parametric data flow graphs, and their compositions are defined in terms of data flow graph compositions. Defining the composition in this manner allows dependencies between skeletons to be defined in terms of point-to-point dependencies, avoiding unnecessary global synchronizations. To show the ease of composability and expressivity, we implemented the NAS Integer Sort (IS) and Embarrassingly Parallel (EP) benchmarks using skeletons and demonstrate comparable performance to the hand-optimized reference implementations. To demonstrate scalable performance, we show a transformation which enables applications written in terms of skeletons to run on more than 100,000 cores.
منابع مشابه
Parallel Algorithms in STAPL: Implementation and Evaluation
The Standard Template Adaptive Parallel Library (stapl) is a high-productivity parallel programming framework that extends C++ and the STL with unified support for shared and distributed memory parallelism. stapl provides distributed data structures (pContainers) and parallel algorithms (pAlgorithms) and a generic methodology for extending them to provide customized functionality. In this paper...
متن کاملA Study of Parallel Graph Processing Paradigms
The Standard Template Adaptive Parallel Library (STAPL) is a parallel superset of the C++ Standard Template Library (STL); STAPL allows execution of programs on uniprocessor and multiprocessor architecture with both shared and distributed memory. Furthermore, STAPL allows ease of development as it provides parallel counterpart of STL containers, algorithms and iterators. STAPL Graph Library (SG...
متن کاملMatrix Multiplication Specialization in STAPL
The Standard Template Adaptive Parallel Library (STAPL) is a superset of C++’s Standard Template Library (STL) which allows highproductivity parallel programming in both distributed and shared memory environments. This framework provides parallel equivalents of STL containers and algorithms enabling ease of development for parallel systems. In this paper, we will discuss our methodology for imp...
متن کاملSTAPL: An Adaptive, Generic Parallel C++ Library
The Standard Template Adaptive Parallel Library (STAPL) is a parallel library designed as a superset of the ANSI C++ Standard Template Library (STL). It is sequentially consistent for functions with the same name, and executes on unior multi-processor systems that utilize shared or distributed memory. STAPL is implemented using simple parallel extensions of C++ that currently provide a SPMD mod...
متن کاملSTAPL: A Standard Template Adaptive Parallel C++ Library
The Standard Template Adaptive Parallel Library (STAPL) is a parallel library designed as a superset of the ANSI C++ Standard Template Library (STL). It is sequentially consistent for functions with the same name, and executes on unior multi-processor systems that utilize shared or distributed memory. STAPL is implemented using simple parallel extensions of C++ that currently provide a SPMD mod...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2014